home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / asm / AmigaGS-Dev.lha / AmigaGS / IlbmViewAGA.exe.s < prev    next >
Text File  |  2000-04-13  |  2KB  |  106 lines

  1. ; **************************
  2. ; *                        *
  3. ; * AMIGA GAME STUDIO BETA *
  4. ; *                        *
  5. ; *------------------------*
  6. ; *                        *
  7. ; * Example de viewer pour *
  8. ; * des images iff/ilbm de *
  9. ; * 2 à 256 couleurs .     *
  10. ; *                        *
  11. ; **************************
  12. ;
  13. ; Fichier startup de AGS.
  14.     Include    "AmigaGS:AmigaGS-Startup.s"
  15. ;
  16. ;
  17. ; VOTRE PROGRAMME COMMENCERA ICI !!!!!!!!
  18. ;
  19. ; Mise en place du copper AGA.
  20.     LibCall        Display,Ags_Display
  21. ;
  22. ; On prend les valeurs IFF/ILBM
  23.     Lea.l        Ilbm,a0
  24.     LibCall        FxIlbm,IlbmXSize
  25.     SaveL        D0,X
  26. ;
  27.     Lea.l        Ilbm,a0
  28.     LibCall        FxIlbm,IlbmYSize
  29.     SaveL        D0,Y
  30. ;
  31.     Lea.l        Ilbm,a0
  32.     LibCall        FxIlbm,IlbmDepth
  33.     SaveL        D0,Depth
  34. ;
  35. ; Ouverture de l'ecran necessaire.
  36.     Lea.l        X,a0
  37.     Moveq.l        #0,d0            ; Ecran 0
  38.     Movem.l        (a0)+,d1/d2/d3    ; X,Y,Depth.
  39.     LibCall        Screens,Screen_Open
  40.  
  41. ; On place l'ecran dans le display AmigaGS.
  42.     Moveq.l        #0,d0
  43.     LibCall        Screens,Screen_Base
  44.     LibCall        Display,Ags_Screen
  45.  
  46. ; On va convertir l'image IFF/ILBM Dans l'ecran.
  47.     Moveq.l        #0,d0
  48.     LibCall        Screens,Screen_Base
  49.     Lea.l        Ilbm,a1
  50.     LibCall        FxIlbm,IlbmConvert
  51.  
  52. ; Pour finir,On va placer la bonne palette de couleur.
  53.     Lea.l        Ilbm,a0
  54.     LibCall        FxIlbm,IlbmPalette    ; ->A0=palette base
  55.     Lea.l        CMAP,a1
  56.     Move.l        a0,(a1)
  57.     LoadL        Depth,d0
  58.     Lsl.w        #1,d0    
  59.     Lea.l        DepthMask,a4
  60.     Add.w        d0,a4
  61.     Lea.l        Depth,a0
  62.     clr.l        (a0)
  63. ;
  64. ; On redéfinit ??? couleurs selon le déssin.
  65.     Lea.l        Depth,a1
  66.     LoadL        CMAP,a3
  67.     LoadL        Depth,d0
  68.     Add.l        #4,a3
  69. bcl2
  70.     Clr.l        d1
  71.     Move.b        (a3)+,d1    ; D1=ROUGE.
  72.     Clr.l        d2
  73.     Move.b        (a3)+,d2    ; D2=VERT.
  74.     Clr.l        d3
  75.     Move.b        (a3)+,d3    ; D3=BLEU.
  76.     LibCall        Display,Ags_SetColor
  77.     Lea.l        Depth,a0
  78.     Addq.l        #1,(a0)
  79.     Move.l        (a0),d0        ; D0=Prochaine couleur.
  80.     Cmp.w        (a4),d0
  81.     Blt.b        bcl2
  82. ;
  83. ; On attend l'appui sur le bouton gauche de la souris.
  84. wlc
  85.     LibCall        Joyport,Joy0Fire1State
  86.     Tst.b        d0
  87.     Beq.b        wlc
  88.  
  89. ; On revient au workbench,on remet tout à 0 et on quitte.
  90. _Fin1:
  91.     LibCall        Display,WB_Display
  92.     ScreenClose    0
  93.     Moveq.l    #0,d0
  94.     Rts
  95.  
  96. ;
  97. ; Autres librairies définissables par l'utilisateur
  98. ;
  99. X:        Dc.l    0
  100. Y:        Dc.l    0
  101. Depth:    Dc.l    0
  102. CMAP:    Dc.l    0
  103. DepthMask:
  104.         Dc.w    0,2,4,8,16,32,64,128,256
  105. Ilbm:
  106.     Incbin    "AmigaGS:Samples/AmigaGS.lbm"